package com.cnaaa.pay.entity;

import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

/**
 * 2018/10/26 Create by 郭文梁
 * Trade
 * 交易实体
 * 交易：由客户服务器请求创建，
 *
 * @author 郭文梁
 * @date 2018/10/26
 */
@Table(name = "Freehost_Trade")
@Entity
@Data
public class Trade {
    /**
     * 创建状态 标识该交易刚创建，仅存在与本地系统中，未与支付平台发生任何关联
     */
    public static final int CREATE = 0x00;
    /**
     * 活动状态 标识交易已经与第三方支付平台发生关联，此时该条及交易可以在支付平台查询到
     */
    public static final int ACTIVE = 0x01;
    /**
     * 关闭状态 标识交易由于超时未支付或其他原因已经关闭，无法再继续支付
     */
    public static final int CLOSED = 0x02;
    /**
     * 已支付 标识交易已经通过支付平台付款成功
     */
    public static final int PAYED = 0x03;
    /**
     * 支付方式 支付宝
     */
    public static final String ALIPAY = "alipay";
    /**
     * 支付方式 微信
     */
    public static final String WECHAT = "wechat";
    /**
     * 交易ID
     */
    @Id
    private String id;
    /**
     * 交易号
     */
    private String tradeNo;
    /**
     * 交易金额
     */
    private String amount;
    /**
     * 交易名称（或商品/订单名臣）
     */
    private String name;
    /**
     * 交易 描述
     */
    private String description;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 关闭时间
     */
    private Date closeTime;
    /**
     * 交易完成时间
     */
    private Date completeTime;
    /**
     * 交易状态
     */
    private Integer status;
    /**
     * 返回地址
     */
    private String returnUrl;
    /**
     * 支付方式
     */
    private String payBy;
    /**
     * 产品ID
     */
    private Long productId;
    /**
     * 产品名称
     */
    private String productName;
    /**
     * 交易用户名
     */
    private String username;
    /**
     * 交易用户ID
     */
    private Long userId;
}
